/**
 * <h1>最小生成树-Minimum Spanning Tree,MST </h1>
 * <p>
 *     最小生成树算法适用于有权重的无向图。目的是在一个<b>有权重的无向图</b>中找到连接所有节点、没有环、权重相加最小的一颗树。
 * </p>
 * <h2>用途</h2>
 * <p>
 *     最小生成树算法在设计各种类型的网络（通信、电子、水利、计算机、 公路、铁路、航空等）以及自然界中的生物、化学和物理网络等各个领域的研究中都起到了重要的 作用
 * </p>
 * <h2>原理</h2>
 * <p>
 *     最小生成树的算法原理来自于树的两个特性<br>
 *         <ul>
 *             <li>一条边连接数的两个节点，会构造一个环</li>
 *             <li>树中删除一个边，会变成两个棵树</li>
 *         </ul>
 * </p>
 * <h2>切分定理<h2/>
 * <p>
 *      <p>加权图中，对于任意的切分，横切边中的权重最小的边一定属于最小生成树</p>
 * </p>
 * <h2>贪婪算法<h2/>
 * <p>
 *      <p>G的顶点为V个，初始设置所有边为灰色。找到一种切分，横切边都是灰色的，标记最小权重的边标记为黑色。循环标记。直到标记了V-1条边。</p>
 * </p>
 * <h2>实现</h2>
 * <p>
 *
 *    以下列出三种种常见实现算法
 *    <ul>
 *        <li>Prim及时算法{@link com.liuzhilong.infrastructure.framework.algorithms.datastruct.graph.algorithms.mst.PrimMST}</li>
 *        <li>Prim延时算法{@link com.liuzhilong.infrastructure.framework.algorithms.datastruct.graph.algorithms.mst.LasyPrimMST}</li>
 *        <li>Kruskal算法{@link com.liuzhilong.infrastructure.framework.algorithms.datastruct.graph.algorithms.mst.KruskalMST}</li>
 *    </ul>
 *
 * </p>
 */
package com.liuzhilong.infrastructure.framework.algorithms.datastruct.graph.algorithms.mst;